define(['zepto'],function(){
	function drag(el,container){
		var loopLength;
		var elDragId=el;
		var offsetY=0,endY=0,startY=0,startTopValue=0,endTopValue=0;
		var dragFlag=true;
		var tempLi;
		var currentIndex;
		document.getElementById(el).addEventListener("touchstart",function(event){
			event.preventDefault();
			var self=this;
			currentIndex=$(self).index();
			if(dragFlag){
				tempLi=$(self).clone();
				loopLength=$(container).length;
				tempLi.addClass("opaciting");
				dragFlag=false;
			}
			$('.secondNav').css('height',0)
			$(self).addClass("dragPosition");
			$(self).addClass("drag"+currentIndex.toString());
			tempLi.insertBefore($(self));
			startY=event.touches[0].pageY;
			startTopValue=parseInt($(self).css('top'));
		});
		document.getElementById(el).addEventListener("touchmove",function(event){
			var self=this;			
			endY=event.touches[0].pageY;
			offsetY=endY-startY;
			if((startTopValue+offsetY)<-27||(startTopValue+offsetY)>203) return;
			//other	
			if(offsetY>-45&&offsetY<=0){
				tempLi.insertBefore($(container).eq(currentIndex));				
			}
			if(offsetY>-90&&offsetY<=-45){
				tempLi.insertBefore($(container).eq(currentIndex-1));				
			}
			if(offsetY>-135&&offsetY<=-90){
				tempLi.insertBefore($(container).eq(currentIndex-2));				
			}
			if(offsetY>-180&&offsetY<=-135){
				tempLi.insertBefore($(container).eq(currentIndex-3));				
			}
			if(offsetY<-180){
				tempLi.insertBefore($(container).eq(0));	
			}
			if(offsetY>0&&offsetY<=45){
				tempLi.insertAfter($(container).eq(currentIndex+1));				
			}
			if(offsetY>45&&offsetY<=90){
				tempLi.insertAfter($(container).eq(currentIndex+2));				
			}
			if(offsetY>90&&offsetY<=135){
				tempLi.insertAfter($(container).eq(currentIndex+3));				
			}
			if(offsetY>135&&offsetY<=180){
				tempLi.insertAfter($(container).eq(currentIndex+4));				
			}
			if(offsetY>180){
				tempLi.insertAfter($(container).eq(loopLength));	
			}
			//
			$(self).addClass('dragAction');
			endTopValue=startTopValue+offsetY;
			$(self).css('top',endTopValue);	
		});
		document.getElementById(el).addEventListener("touchend",function(event){
			var self=this;		
			var tempIndex;
			dragFlag=true;
			$(self).removeClass("dragPosition");			
			tempIndex=tempLi.index();
			$(self).insertAfter($(container).eq(tempIndex));
			tempLi.remove();
			$(self).removeClass('dragAction');
			$(self).removeAttr('style');
			$(self).removeClass("drag"+currentIndex.toString());
		});
	}
	return drag;	
})

